void initalizeTOF(){
Serial.println("ToF initalization started")
// start the wire
Wire.begin();
// update the ToF address
// beta will be set to 0x32
pinMode(SHUTDOWN_PIN_ALPHA, OUTPUT);
digitalWrite(SHUTDOWN_PIN_ALPHA, LOW);
betaSensor.setI2CAddress(0x32);
digitalWrite(SHUTDOWN_PIN_ALPHA, HIGH);
// make sure both sensors are working
if (alphaSensor.begin() != 0) //Begin returns 0 on a good init
{
Serial.println("Alpha sensor failed to begin. Please check wiring. Freezing...");
while (1);
}
if (betaSensor.begin() != 0) //Begin returns 0 on a good init
{
Serial.println("Beta sensor failed to begin. Please check wiring. Freezing...");
while (1);
}
Serial.println("Alpha and Beta Sensors online!");
// start ranging the sensors
alphaSensor.startRanging();
betaSensor.startRanging();
}
/*
Get the data from a ToF sensor
*/
int getSensorData(SFEVL53L1X *sensor){
// see if the sensor data is ready
if (sensor->checkForDataReady()){
int distance = sensor->getDistance();
sensor->clearInterrupt();
sensor->stopRanging();
sensor->startRanging();
return distance;
}
// data is not ready
return -1;
}
/**
* Test the time of flight data
*
*/
void testTOF()
{
// get distances from each sensor
int alphaDistance = getAlphaData();
int betaDistance = getBetaData();
// Serial.println(millis()); only for speed task
// check if alpha data is ready
if (alphaDistance != -1){
Serial.print("Alpha Distance (mm): ");
Serial.println(alphaDistance);
}
// check if beta distance is ready
if (betaDistance != -1){
Serial.print("Beta Distance (mm): ");
Serial.println(betaDistance);
}
}